home *** CD-ROM | disk | FTP | other *** search
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- INSTRUCTIONS FOR COMPILING AND LINKING RAP -- August 1983
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Those wishing to use RAP should obtain a copy of the RAP Manual,
- a document of approximately 50 pages. Copies of the Manual may
- be obtained from Eric Martz, 48 Hunter's Hill Circle, Amherst MA
- 01002 for $10 postpaid within the USA, $20 overseas. Please
- prepay any such orders!
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- FILES:
-
- The RAP source code consists of the following modules:
-
- RAP.H (#included in all RAP*.C sources)
- RAP.C
- RAP1.C
- RAP2.C
- RAP3.C
- RAP4.C
- RAPIO.C
-
- The arrangement of functions in these modules is largely
- arbitrary so a catalog of the functions is in RAP.H.
- Unfortunately, the catalog is obsolete (needs revising). (Does
- anyone know of a program which will list the functions in a
- source code file and also all the functions called by each?)
-
- In addition to the RAP source files, the following general
- purpose files are included:
-
- BDSCIO+.H: Additons to standard BDSCIO.H
- DEFF.CRL: Renamed compilation of MARTZLIB.C
- DEFF2.CRL, DEFF3.CRL: Renamed DEFF.CRL, DEFF2.CRL from BDS
- FIO1.H, FIO2.H, FIO3.H: K&R standard fopen, fclose for BDS
- L2.COM: Mark of the Unicorn BDSC linker
- LINK.SUB: Submit file to link RAP
- MARTZLIB.C: General purpose function library (source on
- another disk, CRL provided as DEFF.CRL, see below)
-
-
- COMPILATION:
-
- Compilation must be by the BDSC compiler. We are presently
- using version 1.5.
-
- RAP is too big. (A needed next step is to implement
- overlaying so there is more room for growth.)
-
- You will find that there is a lot of debugging source code, the
- compilation of which is made conditional upon having #defined DEBUG.
- You will find that #define DEBUG is commented out in RAP.H. If
- you #define DEBUG, RAP may not have enough stack space left in
- memory to operate in your system.
-
- In order to make RAP.COM fit into memory, it is necessary to
- use the -e option to fix the origin of external variables. Thus,
- to compile RAP.C, for example, use the command:
-
- cc1 rap -e 9800
-
- The "-e 9800" must be used for compilation of all source files
- RAP*.C, but is not needed for MARTZLIB.C. The program text code
- presently ends around hex 93EE. Hence, setting the externals at
- hex 9800 leaves some room to grow. My system has 64K of memory.
- CP/M and MicroShell (which I HIGHLY recommend, available from New
- Generation Systems, 2153 Golf Course Dr, Reston VA 22091) each
- need about 8K, so my TPA ends at C006 (49157 decimal). This
- leaves me 7F8 (~2000 decimal) bytes of stack space, which seems
- to be enough.
-
-
- LINKING:
-
- Also in order to conserve space, it is necessary to use the
- Mark of the Unicorn L2 linker for BDSC, which produces a smaller
- .COM file than does CLINK. Since this is available from the BDSC
- User's Group, I have included L2.COM. The L2.COM included has two
- modifications. First, it automatically scans three default
- libraries (DEFF.CRL, DEFF2.CRL, and DEFF3.CRL). Second, the
- statistics summary is augmented. (Source code and documentation
- for L2 may be obtained from the BDSC User's Group, POB 287, Yates
- Center, KS 66783.) L2 saves 1344 bytes of jump tables! (RAP
- includes 133 functions.)
-
- In addition to the RAP source modules listed above, RAP
- requires some library functions in my personal library. The
- entire library has been made available as MARTZLIB.C. Although
- only a few of the functions in MARTZLIB are used by RAP, I hope
- you may find some others to be useful in your own programs. The
- source code for MARTZLIB is on another disk, but the CRL form is
- provided as DEFF.CRL as explained next.
-
- In order to link RAP, I rename the libraries as follows:
-
- Old Name New Name
- -----------------------
- MARTZLIB.CRL DEFF.CRL
- DEFF.CRL DEFF2.CRL
- DEFF2.CRL DEFF3.CRL
-
- It is then possible to link RAP with this command (also provided as
- RAPLINK.SUB):
-
- l2 rap rap1 rap2 -l rap3 rap4 rapread rapio
-
- For reasons detailed in FIO3.H, I have renamed some of the file
- opening and closing functions provided with BDSC. For this
- reason, as well as the possibility that I've forgotten some other
- non-standard-ism, I have included DEFF2.CRL and DEFF3.CRL, as
- well as DEFF.CRL in the forms which I know to work with RAP.
- DEFF2.CRL and DEFF3.CRL, of course, were written by Leor Zolman
- of BD Software.
-
-
- MANUAL:
-
- The files for the RAP manual are not included. It was felt
- that most users would much rather have a xerox of the manual
- itself, since the files are set up for printing on an obscure
- multi-font dot matrix printer (the Sanders 12/7). Also, printing
- RAP commands with RAP sometimes gets extraordinarily complicated.
-
- FEEDBACK:
-
- I hope that some recipients of RAP will make significant
- enhancements and that they will be kind enough to send them to
- me, Eric Martz, Department of Microbiology, University of
- Massachusetts, Amherst MA 01003 USA.
- l2 rap rap1 rap2 -l rap3 rap4 rapread rapio